feat(providers): add profile-backed policy composition#1037
Merged
johntmyers merged 15 commits intomainfrom May 5, 2026
Merged
feat(providers): add profile-backed policy composition#1037johntmyers merged 15 commits intomainfrom
johntmyers merged 15 commits intomainfrom
Conversation
|
🌿 Preview your docs: https://nvidia-preview-pr-1037.docs.buildwithfern.com/openshell |
89e8c63 to
68e6947
Compare
|
Label |
Collaborator
Author
|
/ok to test 68e6947 |
TaylorMutch
reviewed
May 4, 2026
TaylorMutch
previously approved these changes
May 4, 2026
drew
reviewed
May 4, 2026
68e6947 to
1255bb9
Compare
1255bb9 to
62bfdcf
Compare
Collaborator
Author
|
/ok to test 62bfdcf |
drew
previously approved these changes
May 4, 2026
Collaborator
Author
|
/ok to test 8be0be6 |
Collaborator
Author
|
/ok to test a4af3b8 |
Collaborator
Author
|
/ok to test 4a0d593 |
Collaborator
Author
|
/ok to test 7b1d6ea |
This was referenced May 5, 2026
TaylorMutch
added a commit
that referenced
this pull request
May 5, 2026
PR #1037 added include_str!("../../../providers/*.yaml") in crates/openshell-providers/src/profiles.rs, but the BUILD_FROM_SOURCE=1 path of Dockerfile.images only COPY's Cargo.toml/Cargo.lock, crates/, and proto/. With providers/ missing the cargo build inside the rust- builder stage fails to read the embedded YAML. The release path is unaffected because it copies pre-built binaries from deploy/docker/.build/prebuilt-binaries/. This breaks 'mise run e2e:helm:*' and any other workflow that builds images from source via this Dockerfile (e.g., the local helm-e2e harness). Add 'COPY providers/ providers/' alongside the other source inputs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add the first provider profile foundation: bundled YAML provider profiles, profile proto surfaces, CLI discovery for provider types, and JIT policy composition behind the opt-in
use_providers_v2gateway setting.Related Issue
Closes #947
UX Changes
openshell provider list-typesto browse built-in provider profiles exposed by the gateway.other,inference,agent,source_control,messaging,data, andknowledge.use_providers_v2=falseor unset, providers keep the existing credential discovery/injection behavior and profile-backed policy composition is not used.use_providers_v2=trueis enabled at the gateway, sandbox policy reads compose the sandbox-authored policy with provider profile policy layers JIT. Built-in profile YAML defines the provider policy defaults, and duplicate/overlapping user policy entries are preserved through layered composition instead of replacing the user's sandbox policy.Changes
provider list-typesdiscovery.use_providers_v2gateway setting for profile-backed policy composition.genericas a legacy provider type without a bundled v2 profile or automatic policy contribution.Testing
RUSTC_WRAPPER= cargo check -p openshell-core -p openshell-providers -p openshell-cli -p openshell-serverRUSTC_WRAPPER= cargo test -p openshell-providersRUSTC_WRAPPER= cargo test -p openshell-cli cli_provider_types_match_registryRUSTC_WRAPPER= cargo test -p openshell-server sandbox_config_RUSTC_WRAPPER= cargo test -p openshell-server provider_environment_resolution_is_unchanged_by_providers_v2_settingRUSTC_WRAPPER= cargo test -p openshell-server provider_profileRUSTC_WRAPPER= cargo test -p openshell-cli provider_list_types_cli_uses_profile_browsing_rpcmise run pre-commitpassesChecklist